AQUSA: The Automatic Quality User Story Artisan for Agile Software Development
نویسندگان
چکیده
Context and motivation. User stories are an increasingly popular textual notation to capture requirements in agile software development [6]. User stories only capture the essential elements of a requirement: who it is for, what is expected from the system, and, optionally, why. Popularized by Mike Cohn [2], the most well-known format is: “As a 〈type of user〉 , I want 〈goal〉, [so that 〈some reason〉]”. For example: “As a Marketeer, I want to receive an email when a contact form is submitted, so that I can respond to it”. Question/Problem. Despite this popularity, the number of methods to assess and improve user story quality is small. Existing approaches either employ highly qualitative metrics, such as the six mnemonic heuristics of the INVEST framework [10], or propose generic guidelines for quality in agile RE [4]. This prompted us to introduce the Quality User Story (QUS) framework in earlier work [5], formulating a comprehensive linguistic approach to user story quality. The QUS framework separates the algorithmic aspects that natural language processing (NLP) techniques can automatically process from the thinking-required concerns which necessitate involving human requirements engineers. Our earlier work illustrates each quality criterion with a real-world example to demonstrate that the quality defect occur in practice [5]. Principal ideas/results. We take advantage of the potential offered by NLP. However, existing state-of-the-art NLP tools for RE such as Dowser [8] and RAI [3] are unable to transcend from academia into practice because their output is too inaccurate. The ambitious objectives of these tools necessitate a deep understanding of the requirements’ contents [1]. This necessity is currently unachievable and will remain impossible to achieve in the foreseeable future [9]. Instead, to be effective, tools that want to harness NLP should focus on the clerical part of RE that software can perform with 100% recall and high precision, leaving other work to human requirements engineers [1]. Additionally, they should conform to what practitioners actually do, instead of what the published methods and processes advise them to do [7]. The popularity of user stories among practitioners and their simple yet strict structure make them ideal candidates for applying NLP tools and techniques. Contribution. The Automatic Quality User Story Artisan tool1 or AQUSA takes a set of user stories as input and outputs errors and warnings that expose possible defects. Specifically, defects are identified by comparing the user stories with a subset of QUS criteria [5]. A first release of this tool was completed in October 2015 and we
منابع مشابه
A User Story Quality Measurement Model for Reducing Agile Software Development Risk
In Mobile communications age, the IT environment and IT technology update rapidly. The requirements change is the software project must face challenge. Able to overcome the impact of requirements change, software development risks can be effectively reduced. Agile software development uses the Iterative and Incremental Development (IID) process and focuses on the workable software and client co...
متن کاملStory Card Based Agile Software Development
The use of story cards for user stories in many Extreme Programming software development projects has been widespread. Several popular traditional methods for story cards (e.g., Cohen M, Kent B) have been used in successful fashion at some extent, but all lack of the powerful features for story cards guidelines, right sort of information on story cards and quality of user stories on story cards...
متن کاملAgileUAT: A Framework for User Acceptance Testing based on User Stories and Acceptance Criteria
User Acceptance Testing (UAT) has widespread implications in the software community. It involves not only the end-user, but the Quality Assurance (QA) team, developers, business analysts and top level management. UAT is conducted with the aim of developing confidence of the user in the software product. UAT is generally performed manually and not preferred to be automated. UAT frameworks exist ...
متن کاملA Maintainability Enhancement Procedure for Reducing Agile Software Development Risk
In mobile communications age, environment changes rapidly, the requirements change is the software project must face challenge. Able to overcome the impact of requirements change, software development risk can be effectively decreased. In order to reduce software requirements change risk, the paper investigates the major software development models and recommends the adaptable requirements chan...
متن کاملInclusion of e-Assist to increase Agile Adoption
Agile methodology promises quality deliverables in frequent intervals. In Agile project development, user stories (requirements) entered in Product backlog is prioritized and according to priority few of them are selected for the current iteration (sprint). These user stories have to be implemented within that sprint. Hence the project team demands experts in the relevant domain for successful ...
متن کامل